package example;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 请写一个案例，利用不同的方式完成线程的创建
 */
public class BuildThread {
    private static ExecutorService threadPool;

    public static void main(String[] args) {
        /**
         * 第一种利用线程池创建线程
         */
        threadPool = Executors.newFixedThreadPool(50);
        ClientHandler handler = new ClientHandler();
        threadPool.execute(handler);
        /**
         * 第二中利用创建线程任务（需继承Runnable接口，并重写run方法，将任务作为参数传入线程中调用start方法启用线程）
         */
        ClientHandler handler1 = new ClientHandler();
        Thread thread = new Thread(handler1);
        thread.start();
        /**
         * 第三种直接创建线程,（需继承Thread类，重新run方法，调用start方法启用线程）
         */
        Thread t = new thread1();
        t.start();
    }
}


class ClientHandler implements Runnable{
    public void run(){

    }
}

class thread1 extends Thread{
    public void run(){

    }
}
